Internet And Network Technologies
Foundations of Android Security
Android Architecture, Protection, and Development Best Practices
Android Security Vulnerabilities, Testing, and Enterprise Considerations

Android Architecture, Protection, and Development Best Practices

Course Number:
sp_foas_a01_it_enus
Lesson Objectives

Android Architecture, Protection, and Development Best Practices

  • start the course
  • describe the major components of the Android Environment, specifically the Android SDK, Eclipse IDE and ADT, Tools (DDMS, ADB)
  • download and install the Android standalone SDK tools package
  • download and install the Android Studio IDE
  • describe how the Linux kernel provides security on the Android platform, including Linux permissions enforcement
  • describe Android runtime components, specifically the Dalvik VM and Core Libraries
  • describe how to start, bind, and create an application service, as well as how to declare a service in the Manifest.xml file
  • define an activity and describe activity stack and callback methods used to implement activity lifecycles
  • describe the Android application framework layer services, specifically the Resource Manager, Activity Manager, Location Manager, Notification Manager, Package Manager, Views, and Content Providers
  • describe Android software stack layers
  • define the user protection levels that can be assigned in a Manifest permissions file
  • describe the process of application code signing
  • securely package an Android application
  • install and test operation of the Android Debug Bridge tool from the standalone SDK tools package
  • identify application-based permissions, specifically Android Manifest Permissions
  • enable the ProGuard code obfuscation tool in Android SDK
  • create an Android application signing key and certificate in Android Studio
  • use code signing to protect Android application code from malware attacks
  • use Linux security services to protect Android application data
  • describe how permissions and process attributes are assigned in Android OS
  • describe how permissions are granted and managed for applications with shared user IDs
  • declare Android application permissions in a Manifest permissions file
  • describe how permissions are enforced at the kernel level, native daemon level, and the framework level in Android OS
  • declare a custom permission in a Manifest permissions file
  • identify the permissions for a sample application and sign application code in Android Studio

Overview/Description
Given the relatively open nature of the Android development environment, developers ought to have a clear understanding of the OS structure, as well as how to securely protect application code. In this course, you will be introduced to the Android environment and overall architecture, and will also be presented with a basic understanding of key Android OS security features. You will also learn how to protect Android application code and will learn about best practices to employ when developing secure Android applications.

Target Audience
Application developers on the beginner and intermediate level seeking to create and deploy secure Android applications

Android Security Vulnerabilities, Testing, and Enterprise Considerations

Course Number:
sp_foas_a02_it_enus
Lesson Objectives

Android Security Vulnerabilities, Testing, and Enterprise Considerations

  • start the course
  • identify common mobile device security issues
  • describe the methodology used for identifying malware on Android
  • describe the general methodology used to reverse engineer an Android application so as to reveal malicious threats
  • describe Android mobile browser vulnerabilities
  • describe Android security concerns that ought to be addressed in the enterprise environment
  • describe compliance and audit considerations that must be taken into account when developing Android apps for enterprise
  • describe considerations for using user-owned, untrusted devices as well as untrusted applications and networks
  • describe considerations for dealing with untrusted systems and content on an enterprise network
  • describe recommended security practices for mobiles in the enterprise environment
  • identify device administration policies and describe how they are implemented on an Android device
  • describe Android device penetration testing methodology
  • describe main steps for carrying out a generic penetration test on Android OS and devices
  • carry out a network scan using Nmap
  • install and use BusyBox on an Android device to examine its network port and socket activity
  • analyze network traffic on an Android device using Wireshark
  • use Burp suite to intercept traffic for a browser application on a virtual Android device
  • describe the Android app development best practices against which penetration tests should be carried out
  • analyze Android device mount points
  • examine some file systems that typically exist on an Android device
  • examine Android device directory structure
  • describe storage options for Android application data
  • explore the contents of the application data directory for default Android e-mail application
  • identify the advantages and pitfalls of enabling root access on an Android device
  • create a system image for an Android device
  • retrieve and access an Android application database
  • capture and analyze traffic from a sample application, retrieve its database, and view its database contents

Overview/Description
There are a variety of tools and methods available for testing Android applications so as to expose any potential vulnerabilities prior to deployment in either a public market or enterprise environment. In this course, you will learn about various vulnerabilities as they pertain specifically to Android applications, and you will also learn how to secure Android devices and applications for the enterprise environment. You will also learn how to plan and carry out penetration testing using a variety of tools and best practices, in addition to performing forensics and hacking techniques on Android applications so as to be able to better secure them prior to deployment on a public market.

Target Audience
Application developers on the beginner and intermediate level seeking to create and deploy secure Android applications

Close Chat Live